package com.naiterui.ehp.bs.doctor.utils.message;

import com.naiterui.ehp.bp.support.exception.BusinessException;
import com.naiterui.ehp.bs.doctor.prodocl.Message;


/**
 * 定义消息编码与解码的相关方法
 * 目前采用的文本协议使用JSON作为数据格式
 * 通过该接口可以对上层调用屏蔽掉具体的编解码方式
 * 可以更换不同JSON解析器，也可以在后期为提升性能将
 * 协议更换为ProtoclBuffer
 *
 * <P>File name : IMessageTransCoder.java </P>
 * <P>Author : zhouyanxin </P>
 * <P>Date : 2015年6月22日 </P>
 */
public interface IMessageTransCoder {

	/**
	 * 消息解码
	 * 用于将从客户端传递来的消息转换为指定消息类型对应的对象
	 * 转换完成后会对消息的完整性和正确性进行检测
	 * IMessageTransCoder.decodeMessage()<BR>
	 * <P>Author : zhouyanxin </P>
	 * <P>Date : 2015年6月22日 </P>
	 *
	 * @param message
	 *
	 * @return
	 */
	Message<?> decodeMessage(String message) throws BusinessException;

}
